package hawk.example.bookstore.support;

import static java.sql.Types.*;

import glz.hawkframework.mybatis.sql.MybatisParam;
import glz.hawkframework.sql.support.PhysicalTable;
import glz.hawkframework.sql.support.impl.DefaultAliasedNamedColumn;
import glz.hawkframework.sql.support.impl.DefaultPhysicalTable;

public class PublisherSupport {
    public static final PhysicalTable PUBLISHER = new DefaultPhysicalTable("PUBLISHER");
    public static final DefaultAliasedNamedColumn PUBLISHER_ID = new DefaultAliasedNamedColumn("PUBLISHER_ID", "publisherId");
    public static final DefaultAliasedNamedColumn PUBLISHER_CODE = new DefaultAliasedNamedColumn("PUBLISHER_CODE", "publisherCode");
    public static final DefaultAliasedNamedColumn PUBLISHER_NAME = new DefaultAliasedNamedColumn("PUBLISHER_NAME", "publisherName");
    public static final DefaultAliasedNamedColumn ADDRESS = new DefaultAliasedNamedColumn("ADDRESS", "address");
    public static final DefaultAliasedNamedColumn CONTACT = new DefaultAliasedNamedColumn("CONTACT", "contact");
    public static final DefaultAliasedNamedColumn CREATE_DATE_TIME = new DefaultAliasedNamedColumn("CREATE_DATE_TIME", "createDateTime");
    public static final DefaultAliasedNamedColumn UPDATE_DATE_TIME = new DefaultAliasedNamedColumn("UPDATE_DATE_TIME", "updateDateTime");
    public static final DefaultAliasedNamedColumn DELETE_DATE_TIME = new DefaultAliasedNamedColumn("DELETE_DATE_TIME", "deleteDateTime");
    public static final DefaultAliasedNamedColumn CREATE_USER_ID = new DefaultAliasedNamedColumn("CREATE_USER_ID", "createUserId");
    public static final DefaultAliasedNamedColumn UPDATE_USER_ID = new DefaultAliasedNamedColumn("UPDATE_USER_ID", "updateUserId");
    public static final DefaultAliasedNamedColumn DELETE_USER_ID = new DefaultAliasedNamedColumn("DELETE_USER_ID", "deleteUserId");
    public static final DefaultAliasedNamedColumn RECORD_VERSION = new DefaultAliasedNamedColumn("RECORD_VERSION", "recordVersion");
    public static final DefaultAliasedNamedColumn[] COLUMNS = new DefaultAliasedNamedColumn[]{PUBLISHER_ID, PUBLISHER_CODE, PUBLISHER_NAME, ADDRESS, CONTACT, CREATE_DATE_TIME, UPDATE_DATE_TIME, DELETE_DATE_TIME, CREATE_USER_ID, UPDATE_USER_ID, DELETE_USER_ID, RECORD_VERSION};
    public static final MybatisParam PARAM_PUBLISHER_ID = MybatisParam.builder("publisherId", NUMERIC).build();
    public static final MybatisParam PARAM_PUBLISHER_CODE = MybatisParam.builder("publisherCode", VARCHAR).build();
    public static final MybatisParam PARAM_PUBLISHER_NAME = MybatisParam.builder("publisherName", VARCHAR).build();
    public static final MybatisParam PARAM_ADDRESS = MybatisParam.builder("address", VARCHAR).build();
    public static final MybatisParam PARAM_CONTACT = MybatisParam.builder("contact", VARCHAR).build();
    public static final MybatisParam PARAM_CREATE_DATE_TIME = MybatisParam.builder("createDateTime", TIMESTAMP).build();
    public static final MybatisParam PARAM_UPDATE_DATE_TIME = MybatisParam.builder("updateDateTime", TIMESTAMP).build();
    public static final MybatisParam PARAM_DELETE_DATE_TIME = MybatisParam.builder("deleteDateTime", TIMESTAMP).build();
    public static final MybatisParam PARAM_CREATE_USER_ID = MybatisParam.builder("createUserId", VARCHAR).build();
    public static final MybatisParam PARAM_UPDATE_USER_ID = MybatisParam.builder("updateUserId", VARCHAR).build();
    public static final MybatisParam PARAM_DELETE_USER_ID = MybatisParam.builder("deleteUserId", VARCHAR).build();
    public static final MybatisParam PARAM_RECORD_VERSION = MybatisParam.builder("recordVersion", NUMERIC).build();
    public static final MybatisParam[] PARAM_COLUMNS = new MybatisParam[]{PARAM_PUBLISHER_ID, PARAM_PUBLISHER_CODE, PARAM_PUBLISHER_NAME, PARAM_ADDRESS, PARAM_CONTACT, PARAM_CREATE_DATE_TIME, PARAM_UPDATE_DATE_TIME, PARAM_DELETE_DATE_TIME, PARAM_CREATE_USER_ID, PARAM_UPDATE_USER_ID, PARAM_DELETE_USER_ID, PARAM_RECORD_VERSION};
}
